package gui.components.map.objects;

import gui.components.map.engine.RenderEngine;
import gui.components.map.engine.RenderQueue;
import gui.components.map.engine.RenderQueueType;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Stroke;
import java.util.ArrayList;

import javax.swing.JPanel;

public class objGrid {

	protected double _zoom;
	
	protected Color _colorx;
	protected Color _colory;
	protected Color _color;
	protected Stroke _stroke;
	
	protected ArrayList<Integer> _pointsx;
	protected ArrayList<Integer> _pointsy;
	
	protected RenderEngine _renderengine;
	protected RenderQueue _renderqueue;
	
	protected JPanel _pnl;
	protected GridType _type;
	
	public objGrid()
	{
		_stroke = new BasicStroke(1);	
	}
	
	public void SetRenderEngine(RenderEngine _re)
	{
		_renderengine = _re;
		
		_renderqueue = new RenderQueue();
		_renderqueue.SetType(RenderQueueType.GRID);
		_renderengine.AddRenderQueue(_renderqueue);
	}
		
	public double GetZoomlvl()
	{
		return _zoom;
	}
	
	public void SetZoomlvl(double _z)
	{
		_zoom = _z;
	}
	
	public void SetColor(Color _clr)
	{
		_color = _clr;
		_colorx = _clr;
		_colory = _clr;
	}
	
	public Color GetColor()
	{
		return _color;
	}
	
	public Color GetColor_x() {
		return _colorx;
	}
	
	public void SetColor_x(Color _colorx) {
		this._colorx = _colorx;
	}
	
	public Color GetColor_y() {
		return _colory;
	}
	
	public void SetColor_y(Color _colory) {
		this._colory = _colory;
	}
	
	public Stroke GetStroke() {
		return _stroke;
	}
	
	public void SetStroke(Stroke _stroke) {
		this._stroke = _stroke;
	}

	public void SetTargetPanel(JPanel _tpnl)
	{
		_pnl = _tpnl;
	}
	
	public JPanel GetTargetPanel()
	{
		return _pnl;
	}
	
	public void SetGridType(GridType _gt)
	{
		_type = _gt;
	}
	
	public GridType GetGridType()
	{
		return _type;
	}
}
